package com.bitoon.basketdudes.web.xhr;

import com.bitoon.basketdudes.web.jpa.UsuarioLogin;
import com.bitoon.basketdudes.web.BaseAction;
import com.bitoon.basketdudes.web.datos.*;
import javax.persistence.*;
import org.apache.log4j.Logger;

public class EmailRegistro extends BaseAction {

    private CabeceraXHRNickRegistro cabecera;
    private String email;

    private Logger log = Logger.getLogger(EmailRegistro.class);

    public String execute() {

        EntityManager em = null;

        setCabecera(new CabeceraXHRNickRegistro());
        getCabecera().setCorrecto(1);

        try {

            if ( email != null) {

                em = emfBasket.createEntityManager(); // checked

                Query q = em.createNamedQuery("UsuarioLogin.findByEmail");
                q.setParameter("email", email.toLowerCase());
                UsuarioLogin u = (UsuarioLogin)q.getSingleResult();

                getCabecera().setDisponible(0);
            } else {
                getCabecera().setDisponible(0);
            }
        } catch (NoResultException e) { // El email está disponible
            getCabecera().setDisponible(1);
        } catch (Exception e) {
            log.error("[execute]: " + e, e);
        } finally {
            try { em.close(); } catch (Exception e) { }
        }

        return SUCCESS;
    }

    public CabeceraXHRNickRegistro getCabecera() {
        return cabecera;
    }

    public void setCabecera(CabeceraXHRNickRegistro cabecera) {
        this.cabecera = cabecera;
    }

    public void setEmail(String email) {
        this.email = email;
    }

}
